home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 22 / PC Actual CD 22.iso / progs / Netobj / netobj / t2.z / RotatingPictureComp.nfx (.txt) < prev    next >
Encoding:
Java Class File  |  1997-04-29  |  4.9 KB  |  267 lines

  1. public class RotatingPictureComp extends ComponentApp {
  2.    int maxWidth;
  3.    int maxHeight;
  4.    int numImages;
  5.    static final int MaxImages = 50;
  6.    DAssetManager assetMan;
  7.    DDrawJava theJavaApplet;
  8.    int pause;
  9.    int[] imageNames;
  10.    int[] imageURLs;
  11.  
  12.    public String PropertyListener(String var1, String var2, int var3, int var4, IDInspector var5) {
  13.       if (var3 == 1) {
  14.          if (var1.compareTo("Pause Time (Seconds)") == 0) {
  15.             return Integer.toString(this.pause);
  16.          }
  17.  
  18.          if (var1.compareTo("Number of Images") == 0) {
  19.             return Integer.toString(this.numImages);
  20.          }
  21.  
  22.          for(int var6 = 0; var6 < this.numImages; ++var6) {
  23.             if (var1.compareTo("Image " + Integer.toString(var6 + 1)) == 0) {
  24.                return Integer.toString(this.imageNames[var6]);
  25.             }
  26.  
  27.             if (var1.compareTo("URL for Image " + Integer.toString(var6 + 1)) == 0) {
  28.                return Integer.toString(this.imageURLs[var6]);
  29.             }
  30.          }
  31.       } else if (var1.compareTo("Pause Time (Seconds)") == 0) {
  32.          this.pause = Integer.parseInt(var2, 10);
  33.          if (this.pause < 1) {
  34.             this.pause = 1;
  35.          }
  36.  
  37.          this.theJavaApplet.AddParam("Pause Time", "String\u0000", Integer.toString(this.pause));
  38.       } else if (var1.compareTo("Number of Images") == 0) {
  39.          int var12 = Integer.parseInt(var2, 10);
  40.          if (var12 > 50) {
  41.             var12 = 50;
  42.          }
  43.  
  44.          if (var12 < this.numImages) {
  45.             DImage var7 = new DImage();
  46.             this.maxHeight = this.maxWidth = 0;
  47.  
  48.             for(int var8 = 0; var8 < var12; ++var8) {
  49.                String var9 = this.assetMan.GetAssetLocation(this.imageNames[var8], 1, 1);
  50.                var7.setImageFile(var9);
  51.                IDSize var10 = var7.getSize();
  52.                if (var10.getHeight() > this.maxHeight) {
  53.                   this.maxHeight = var10.getHeight();
  54.                }
  55.  
  56.                if (var10.getWidth() > this.maxWidth) {
  57.                   this.maxWidth = var10.getWidth();
  58.                }
  59.             }
  60.  
  61.             this.theJavaApplet.SetSize(this.maxWidth, this.maxHeight);
  62.          }
  63.  
  64.          while(var12 < this.numImages) {
  65.             this.assetMan.RemoveAsset(this.imageNames[this.numImages += -1]);
  66.          }
  67.  
  68.          this.numImages = var12;
  69.          this.theJavaApplet.AddParam(var1, "String\u0000", var2);
  70.       } else {
  71.          for(int var13 = 0; var13 < this.numImages; ++var13) {
  72.             if (var1.compareTo("Image " + Integer.toString(var13 + 1)) == 0) {
  73.                if (this.imageNames[var13] != 0) {
  74.                   this.assetMan.RemoveAsset(this.imageNames[var13]);
  75.                }
  76.  
  77.                this.imageNames[var13] = Integer.parseInt(var2, 10);
  78.                String var14 = this.assetMan.GetAssetLocation(this.imageNames[var13], 1, 1);
  79.                this.theJavaApplet.setImageFile(var14);
  80.                DImage var16 = new DImage();
  81.                this.maxHeight = this.maxWidth = 0;
  82.  
  83.                for(int var17 = 0; var17 < this.numImages; ++var17) {
  84.                   var14 = this.assetMan.GetAssetLocation(this.imageNames[var17], 1, 1);
  85.                   var16.setImageFile(var14);
  86.                   IDSize var18 = var16.getSize();
  87.                   if (var18.getHeight() > this.maxHeight) {
  88.                      this.maxHeight = var18.getHeight();
  89.                   }
  90.  
  91.                   if (var18.getWidth() > this.maxWidth) {
  92.                      this.maxWidth = var18.getWidth();
  93.                   }
  94.                }
  95.  
  96.                this.theJavaApplet.SetSize(this.maxWidth, this.maxHeight);
  97.             }
  98.  
  99.             if (var1.compareTo("URL for Image " + Integer.toString(var13 + 1)) == 0) {
  100.                this.imageURLs[var13] = Integer.parseInt(var2, 10);
  101.             }
  102.          }
  103.       }
  104.  
  105.       return "";
  106.    }
  107.  
  108.    public void onCopy() {
  109.       int[] var1 = this.imageNames;
  110.       int[] var2 = this.imageURLs;
  111.       this.imageNames = new int[50];
  112.       this.imageURLs = new int[50];
  113.  
  114.       for(int var3 = 0; var3 < this.numImages; ++var3) {
  115.          this.imageNames[var3] = var1[var3];
  116.          this.imageURLs[var3] = var2[var3];
  117.          if (this.imageNames[var3] != 0) {
  118.             this.assetMan.CopyAsset(this.imageNames[var3]);
  119.          }
  120.  
  121.          if (this.imageURLs[var3] != 0) {
  122.             this.assetMan.CopyAsset(this.imageURLs[var3]);
  123.          }
  124.       }
  125.  
  126.    }
  127.  
  128.    public String onInstall(DAssetManager var1, String var2) {
  129.       this.assetMan = var1;
  130.       return "Rotating Picture";
  131.    }
  132.  
  133.    protected void finalize() {
  134.       for(int var1 = 0; var1 < this.numImages; ++var1) {
  135.          if (this.imageNames[var1] != 0) {
  136.             this.assetMan.RemoveAsset(this.imageNames[var1]);
  137.          }
  138.       }
  139.  
  140.    }
  141.  
  142.    public void onUnInstall(DAssetManager var1) {
  143.    }
  144.  
  145.    public void onPublish(DAssetManager var1, int var2) {
  146.       if (var2 == 1) {
  147.          for(int var3 = 0; var3 < this.numImages; ++var3) {
  148.             String var4 = this.assetMan.GetAssetLocation(this.imageNames[var3], var2, 0);
  149.             var4.replace('|', ':');
  150.             this.theJavaApplet.AddParam("Image " + Integer.toString(var3 + 1), "String\u0000", "file:///" + var4);
  151.          }
  152.       } else {
  153.          for(int var11 = 0; var11 < this.numImages; ++var11) {
  154.             this.theJavaApplet.AddParam("Image " + Integer.toString(var11 + 1), "String\u0000", this.assetMan.GetAssetRelativeLocation(this.imageNames[var11], var2, 0));
  155.          }
  156.       }
  157.  
  158.       for(int var12 = 0; var12 < this.numImages; ++var12) {
  159.          String var14;
  160.          if (this.imageURLs[var12] != 0) {
  161.             var14 = this.assetMan.GetAssetLocation(this.imageURLs[var12], var2, 1);
  162.          } else {
  163.             var14 = "";
  164.          }
  165.  
  166.          this.theJavaApplet.AddParam("URL for Image " + Integer.toString(var12 + 1), "String\u0000", var14);
  167.       }
  168.  
  169.       this.theJavaApplet.AddParam("Image Width", "String\u0000", Integer.toString(this.maxWidth));
  170.       this.theJavaApplet.AddParam("Image Height", "String\u0000", Integer.toString(this.maxHeight));
  171.       IDRect var13 = this.theJavaApplet.getObjectRect();
  172.       this.theJavaApplet.AddParam("X Position", "String\u0000", Integer.toString(var13.getLeft()));
  173.       this.theJavaApplet.AddParam("Y Position", "String\u0000", Integer.toString(var13.getTop() + 7));
  174.       IDLayout var15 = this.theJavaApplet.getLayout();
  175.       IDSite var5 = var15.getSite();
  176.       IDStyle var6 = var5.getCurrentStyle();
  177.       int var7 = var15.getBackgroundStyle();
  178.       if (var7 != 0) {
  179.          if (var7 == 1) {
  180.             this.theJavaApplet.AddParam("BackgroundColor", "String\u0000", Integer.toString(var15.getBackgroundColor()));
  181.          } else if (var7 == 2) {
  182.             int var8 = this.assetMan.AddAsset(var15.getBackgroundImage(), "Image\u0000", "");
  183.             String var9 = this.assetMan.GetAssetRelativeLocation(var8, var2, 1);
  184.             if (var2 == 1) {
  185.                var9 = "file:///" + var9;
  186.             }
  187.  
  188.             this.theJavaApplet.AddParam("BackgroundImage", "String\u0000", var9);
  189.          }
  190.       } else {
  191.          var7 = var6.getBackgroundStyle();
  192.          if (var7 == 1) {
  193.             this.theJavaApplet.AddParam("BackgroundColor", "String\u0000", Integer.toString(var6.getBackgroundColor()));
  194.          } else if (var7 == 2) {
  195.             int var17 = this.assetMan.AddAsset(var6.getBackgroundImage(), "Image\u0000", "");
  196.             String var18 = this.assetMan.GetAssetRelativeLocation(var17, var2, 1);
  197.             if (var2 == 1) {
  198.                var18 = "file:///" + var18;
  199.             }
  200.  
  201.             this.theJavaApplet.AddParam("BackgroundImage", "String\u0000", var18);
  202.          }
  203.       }
  204.  
  205.    }
  206.  
  207.    public void onDrop(IDLayout var1, IDRect var2, int var3) {
  208.       if (var3 == 1) {
  209.          this.numImages = 3;
  210.          this.pause = 2;
  211.          this.imageNames = new int[50];
  212.          this.imageURLs = new int[50];
  213.          int var6 = 0;
  214.  
  215.          do {
  216.             this.imageURLs[var6] = 0;
  217.             this.imageNames[var6] = 0;
  218.             ++var6;
  219.          } while(var6 < 50);
  220.  
  221.          this.theJavaApplet = new DDrawJava();
  222.          this.theJavaApplet.setImageFile(this.theJavaApplet.getCodeBase() + "banner.gif");
  223.          this.theJavaApplet.setAppletFileName(this.theJavaApplet.getCodeBase() + "RotatingPicture.class");
  224.          this.theJavaApplet.setStretch(1);
  225.          this.theJavaApplet.setAltTag("Rotating Picture");
  226.          int var4 = var2.getLeft();
  227.          int var5 = var2.getTop();
  228.          var1.AddObject(this.theJavaApplet);
  229.          this.theJavaApplet.AddParam("Pause Time", "String\u0000", "2");
  230.          this.theJavaApplet.AddParam("Number of Images", "String\u0000", "3");
  231.          this.imageNames[0] = this.assetMan.AddAsset(this.theJavaApplet.getCodeBase() + "banner.gif", "Image\u0000", "");
  232.          this.imageNames[1] = this.assetMan.AddAsset(this.theJavaApplet.getCodeBase() + "banner2.gif", "Image\u0000", "");
  233.          this.imageNames[2] = this.assetMan.AddAsset(this.theJavaApplet.getCodeBase() + "banner3.gif", "Image\u0000", "");
  234.          DImage var7 = new DImage();
  235.          var7.setImageFile(this.theJavaApplet.getCodeBase() + "banner.gif");
  236.          IDSize var8 = var7.getSize();
  237.          if (var8.getHeight() > this.maxHeight) {
  238.             this.maxHeight = var8.getHeight();
  239.             if (var8.getWidth() > this.maxWidth) {
  240.                this.maxWidth = var8.getWidth();
  241.             }
  242.  
  243.             this.theJavaApplet.SetPositionRect(var4, var5, var4 + this.maxWidth, var5 + this.maxHeight);
  244.          } else if (var8.getWidth() > this.maxWidth) {
  245.             this.maxWidth = var8.getWidth();
  246.             this.theJavaApplet.SetPositionRect(var4, var5, var4 + this.maxWidth, var5 + this.maxHeight);
  247.          }
  248.  
  249.       }
  250.    }
  251.  
  252.    public void onInspect(CStringArray var1, CStringArray var2) {
  253.       var1.Set("Pause Time (Seconds)");
  254.       var2.Set("Collection\u0000");
  255.       var1.Set("Number of Images");
  256.       var2.Set("Collection\u0000");
  257.  
  258.       for(int var3 = 0; var3 < this.numImages; ++var3) {
  259.          var1.Set("Image " + Integer.toString(var3 + 1));
  260.          var2.Set("Image\u0000");
  261.          var1.Set("URL for Image " + Integer.toString(var3 + 1));
  262.          var2.Set("Link\u0000");
  263.       }
  264.  
  265.    }
  266. }
  267.